package utilidades;

import java.io.InputStream;
import java.net.URL;

/**	Clase que permite crear un actualizador para obtener la información de la última actualización en vigor.
 * @author kevincifuentes
 *
 */
public class actualizador {

	private final static String versionURL = "http://programatrading.webcindario.com/";
	private final static String historyURL = "http://programatrading.webcindario.com/history.html";
	
	
	/** Metodo que devuelve la última versión del programa.
	 * @return Retorna un string con el valor de la nueva actualización.
	 * @throws Exception
	 */
	public static String getLatestVersion() throws Exception
	{
		String data = getData(versionURL);
		return data.substring(data.indexOf("[version]")+9,data.indexOf("[/version]"));
	}

	/** Metodo que retorna lo que contiene la nueva actualización del programa.
	 * @return Retorna un string con lo que contiene la nueva actualización.
	 * @throws Exception Devuelve exception, si no puede obtener la información.
	 */
	public static String getWhatsNew() throws Exception
	{
		String data = getData(historyURL);
		return data.substring(data.indexOf("[history]")+9,data.indexOf("[/history]"));
	}


	/**
	 * @param address La dirección (url) de dónde hay que obtener la información pertinente.
	 * @return Devuelve la información que contiene la dirección (url)
	 * @throws Exception Lanza excepción si no se ha podido obtener lo información.
	 */
	private static String getData(String address)throws Exception
	{
		URL url = new URL(address);
		InputStream html = null;
		html = url.openStream();    
		int c = 0;
		StringBuffer buffer = new StringBuffer("");

		while(c != -1) {
			c = html.read();   
			buffer.append((char)c);
		}
		return buffer.toString();
	}
	public static void main(String[] args) {
		try {
			System.out.println(actualizador.getLatestVersion());
		} catch (Exception ex) {
			ex.printStackTrace();
		}

	}



}
